package com.itheima.model.behavior.vos;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 排行榜项 VO
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class RankingItemVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 排名
     */
    private Integer rank;

    /**
     * 项目ID（图书ID或用户ID）
     */
    private Integer itemId;

    /**
     * 项目类型（book/user）
     */
    private String itemType;

    /**
     * 分数
     */
    private Double score;

    /**
     * 图书相关信息（仅保留必要字段）
     */
    private String bookTitle;
    private String bookAuthor;
    private String bookCover;

    /**
     * 用户相关信息
     */
    private String username;
    private String userAvatar;
    private String userLevel;

    /**
     * 统计数据
     */
    private Integer viewCount;
    private Integer readingCount;
    private Integer likeCount;
    private Integer collectCount;
    private Integer noteCount;
    private Integer reviewCount;

    /**
     * 阅读时长（分钟）
     */
    private Integer readingTime;

    /**
     * 活跃度
     */
    private Integer activeCount;

    /**
     * 变化趋势（相比上次排名的变化）
     */
    private Integer rankChange;
}

